在一台Mac上不同平台同时使用多个Git账号
来源:http://gk.link/a/101Na
有时候我们可能需要在一太电脑上使用多个Git账户的情况,这时候我们就需要针对多个平台和账户进行不同的设置。
思路
同时管理多个SSH key。
解决方案
生成多个SSH key
这里使用one two两个账户进行举例
注意在生成多个SSH key的时候一定要在~/.ssh目录下进行,否则生成的SSHkey不会再~/.ssh目录下。 以下有操作都是在~/.ssh目录下进行的。 在生成之前尽量删除此目录下的所有文件再进行,以免出现不必要的问题。
ssh-keygen -t rsa -C "one@email.com"
ssh-keygen -t rsa -C "two@email.com"
复制代码再输入命令行的时候在第一次提示Enter file in which to save the key的时候对ssh文件进行重命名(idrsaone和idrsatwo),这是就会生成一下目录中的四个文件。
两份包含私钥和公钥的4个文件。 添加私钥 在对应平台添加私钥的地方,把两个账号生成的私钥添加进去。
获取私钥
cat ~/.ssh/id_rsa_one.pub
cat ~/.ssh/id_rsa_two.pub
其中(idrsaone.pub和idrsatwo.pub)是之前对的ssh文件重命名的文件名
创建config文件
在~/.ssh目录下创建一个config文件
touch config
会在~/.ssh目录下生成一个空的config文件,我们在文件中添加以下内容。
#git server one
Host one.aliyun.com #别名
Hostname code.aliyun.com #真实域名
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_one #ssh 文件路径
User one
#git server two
Host two.aliyun.com
Hostname code.aliyun.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_two
User two
远程测试【可跳过】
ssh –T one.aliyun.com
ssh –T two.aliyun.com
使用
clone到本地
原来的写法
git@code.aliyun.com:项目路径.git
现在的写法
git clone git@one.github.com:项目路径.git
git clone git@two.github.com:项目路径.git
给仓库设置局部用户名和邮箱【可不设置】
git config user.name "one_name" ; git config user.email "one_email"
git config user.name "two_name" ; git config user.email "two_email"
小结
此篇文章是自己通过网上查询然后自己实践总结而得。由于本人知识有限,难免总结得很完整,如果读者遇到什么问题,欢迎留言讨论,共同学习。
·END·
近期热文:
Spring Cloud Stream同一通道根据消息内容分发不同的消费逻辑
Git 版本控制之 GitFlow
彻底搞懂 Git-Rebase
我说分布式事务之最大努力通知型事务
我说分布式事务之TCC
让你的系统“坚挺不倒”的最后一个大招——「降级」
不可错过的CMS学习笔记
致敬| 她永远地离开了,但我们依然每天收益于您的伟大发明!
在生产中使用Java 11:需要了解的重要事项
如何在到处是“雷”的系统中「明哲保身」?这是第一招
可能是最全面的G1学习笔记
看完,赶紧点个“好看”鸭
点鸭点鸭
↓↓↓↓